grammar Csv3;

//csv由表头和行组成
file : title row+ ;

title : row;

//cell以逗号分隔，行以换行符结束
row : cell (',' cell)* '\r'? '\n';


cell  : TEXT
      | STRING
      |
      ;

TEXT : ~[,\r\n"]+; //下一个都逗号或者换行符之前的任意字符序列
STRING : '"' ('""'|~'"')* '"';//两个双引号之间的任意字符序列


// 单行注释(以//开头，换行结束)
LINE_COMMENT : '//' .*? '\r'?'\n' -> skip;
// 多行注释(/* */包裹的所有字符)
COMMENT : '/*' .*? '*/' -> skip	;

WS : [ \t\r\n]+ -> skip;